package com.huatai.datacenter.feign;

import com.huatai.common.api.R;
import com.huatai.datacenter.entity.QueryMultiple;
import com.huatai.datacenter.entity.QueryReturn;
import com.huatai.datacenter.entity.QuerySingle;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.util.List;

@FeignClient("ht-datacenter")
public interface TSDBQueryClient {
	/**
	 * 接口前缀
	 */
	String API_PREFIX = "/api/query";

	/**
	 * 单设备基础查询
	 *
	 * @param querySingle 单设备查询参数
	 * @return 查询结果
	 */
	@PostMapping(API_PREFIX + "/single")
	R<List<QueryReturn>> querySingle(@Valid @RequestBody QuerySingle querySingle);

	/**
	 * 多设备查询
	 *
	 * @param queryMultiple 多设备查询参数
	 * @return 查询结果
	 */
	@PostMapping(API_PREFIX + "/multiple")
	R<List<QueryReturn>> queryMultiple(@Valid @RequestBody QueryMultiple queryMultiple);


	/**
	 * 查询差值计算结果
	 *
	 * @param querySingle 但设备实体
	 * @return 查询结果
	 */
	@PostMapping(TSDBQueryClient.API_PREFIX + "/singleDifference")
	R<List<QueryReturn>> querySingleDifference(@Valid @RequestBody QuerySingle querySingle);
}
